<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="./jquery/jQuery.min.js"></script>
</head>

<body>
  <button id="ajax">ajax</button>
  <button id="jsonp">jsonp</button>

  <script>
    $('#ajax').click(function () {
      $.ajax({
        url: 'http://localhost:8848/list',
        type: 'get',
        success: function (data) {
          console.log(data);
        }
      })
    })
    // 会报错，跨域

    $('#jsonp').click(function () {
      $.ajax({
        url: 'http://localhost:8848/list',
        type: 'get',
        dataType: 'jsonp',
        success: function (data) {
          console.log(data);
        }
      })
    })
    // 成功


  </script>

<!-- jsonp原理 -->
<!-- 动态创建2个script标签 -->
<!-- 第一个是个普通的标签，内部生成一个函数，名字是随机的 -->
<!-- 
  第2个是个带路径标签
  其路径是访问的路径
  并且添加参数  callback=fn 
  fn 为第一个标签中的函数名
  这样标签本身就要去正确路径去访问，其实就等于是个get请求
  请求之后，服务器返回一个函数的调用  getList(数据)
  (响应数据会作为参数传入上一个标签的方法同时调用方法)
  这样做完之后会发现，页面打开的时候，就已经把数据获取到了
-->

<!-- 最终成功之后会清除这两个标签 -->
<script>
  function getList(data) {
    console.log(data);
  }
</script>
<script src="http://localhost:8848/list?callback=getList"></script>
</body>

</html>